基于halcon将深度图转换成点云图并保存 |
您所在的位置:网站首页 › halcon region数组怎么保存 › 基于halcon将深度图转换成点云图并保存 |
能力有限不足之处或者可优化之处还望多多指教! *首先是读取图像 read_image (Image, './deep/20.tif') *创建个roi区域并保存 gen_rectangle1 (ROI_0, 1.0544, 161.358, 775.148, 1281.81) write_tuple ([450.0544, 238.358, 1455.148, 1131.81], './param/roi.tup') file_exists ('./param/roi.tup', roiFileExists1) if (not roiFileExists1) RunMessage := 'roi文件不存在' return () endif read_tuple ('./param/roi.tup', roiTuple) tuple_length (roiTuple, Length1) if (Length1 == 0) RunMessage := 'roi文件格式错误,请检查文件' return () endif get_image_size (ImageOut, Width, Height) threshold (ImageOut, Region7, 1000, 2050) * region_features (Region7, 'area', Value1) * if (Value1>2000) * paint_region (Region7, ImageOut, ImageOut, -32768, 'fill') * median_image (ImageOut, ImageOut, 'circle', 1, 'mirrored') * endif gen_rectangle1 (Rectangle, roiTuple[0], roiTuple[1], roiTuple[2], roiTuple[3]) reduce_domain (ImageOut, Rectangle, ImageReduced) regiongrowing (ImageReduced, Regions1, 3, 3, 5, 50) select_shape (Regions1, SelectedRegions4, 'area', 'and', 10000, 99999) select_shape (SelectedRegions4, SelectedRegions5, 'height', 'and', 50, 500) shape_trans (SelectedRegions5, RegionTrans, 'rectangle2') boundary (RegionTrans, RegionBorder, 'inner') dilation_circle (RegionBorder, RegionDilation, 1.5) paint_region (RegionDilation, intensity, ImageResult, [255,0,0], 'fill') tupleX:=[] tupleY:=[] tupleZ:=[] get_image_size (ImageResult, Width1, Height1) for Index3 := 0 to Width1-3 by 3 for Index4 := 0 to Height1-3 by 3 get_grayval (ImageResult, Index4, Index3, Grayval) if (Grayval>1500) tupleX:=[tupleX,Index3] tupleY:=[tupleY,Index4] tupleZ:=[tupleZ,Grayval] endif endfor endfor gen_object_model_3d_from_points (tupleX, tupleY, tupleZ, ObjectModel3D1) connection_object_model_3d (ObjectModel3D1, 'distance_3d', 5, ObjectModel3DConnected) select_object_model_3d (ObjectModel3DConnected, 'num_points', 'and', 1000, 100000, ObjectModel3D2) *dev_open_window (0, 0, Width, Height, 'black', WindowHandle1) *visualize_object_model_3d (WindowHandle1,[ObjectModel3D1,ObjectModel3D2], [],[], ['color_0','color_1','alpha_1','disp_pose'], ['green','gray',0.5,'true'],'RectBOX', [], [], Pose) union_object_model_3d (ObjectModel3D2, 'points_surface', UnionObjectModel3D) *保存点云 write_object_model_3d (UnionObjectModel3D, 'ply', 'D:/YG/yuan20.ply', [], []) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |